iT邦幫忙

0

[Firestore聊天室]02-開始使用Firestore

  • 分享至 

  • xImage
  •  

Get started with Cloud Firestore

本篇網址

本篇將展示如何建立Forestore,加入資料,透過console檢查剛加入的資料。

Create a Cloud Firestore database

  1. Firebase console裡按下Add project,依照指示建立新的專案或加入現有的服務到GCP專案中。
  2. 在console視窗中選擇Database,點擊Create database
  3. 選擇專案的安全模式
    1. Test mode:用於測試,允許任何讀寫
    2. Locked mode:拒絕任何讀寫,透過撰寫規則,限制資料庫存取(例如只有後端伺服器可連接)
  4. 選擇地區
    1. 此設定的地區為專案的預設Google Cloud Platform(GCP) resource location,注意該地區會用在GCP服務中,尤其是Cloud Storage bucket,以及App Engine
    2. 若無法選擇地區,則擁有預設地區。
  5. Click Done
  6. 初始化完成後,同時啟用了Cloud API Manager

Set up development environment

  1. 依照專案類型將需要的依賴項目加入應用程式中
    1. Web
      1. 將Firebase加入專案
      2. 引入必須的js
    <script src="https://www.gstatic.com/firebasejs/6.4.0/firebase-app.js"></script>
    <script src="https://www.gstatic.com/firebasejs/6.4.0/firebase-firestore.js"></script>
    
  2. 初始化Firestore
    注意:你必須已經取得用以初始化Firestore的config檔
       //.initializeApp()方法需傳入config作為參數
       firebase.initializeApp({
             apiKey: '### FIREBASE API KEY ###',
             authDomain: '### FIREBASE AUTH DOMAIN ###',
             projectId: '### CLOUD FIRESTORE PROJECT ID ###'
       });
    
       var db = firebase.firestore();
    
  3. 寫入資料
    1. Firestore將資料儲存在documents,documents儲存在collections
    2. 在初次將資料寫入document時會自動建立collection,不需手動建立
    db.collection("users").add({
       first: "Ada",
       last: "Lovelace",
       born: 1815
    }).then(function(docRef) {
       console.log("Document written with ID: ", docRef.id);
    }).catch(function(error) {
       console.error("Error adding document: ", error);
    });
    
  4. 讀取資料
    1. 透過.get()查詢資料
    2. .get()會返回Promise,用以異步處理
    db.collection("users").get().then((querySnapshot) => {
       querySnapshot.forEach((doc) => {
           console.log(`${doc.id} => ${doc.data()}`);
       });
    });
    
  5. 保護資料
    1. 若你的專案基於Web,Android,iOS,請使用Firebase AuthenticationCloud Firestore安全規則來保護資料。
    2. Rules tab中撰寫讀寫規則
      // Allow read/write access on all documents to any user signed in to the application
      service cloud.firestore {
          match /databases/{database}/documents {
              match /{document=**} {
                  allow read, write: if request.auth.uid != null;
              }
          }
      }
      

觀看影片
Yes


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言